home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-01 | 2.7 KB | 75 lines | [TEXT/R*ch] |
- The Python Profiler
-
- To use the profiler in its simplest form:
-
- >>> import profile
- >>> profile.run(statement)
-
- This will execute the statement and print statistics. To get more
- information out of the profiler, use:
-
- >>> import profile
- >>> profile.run(statement, dump_file)
-
- where dump_file is a string naming a file to which the (binary)
- profile statistics is to be dumped. The binary format is a dump of a
- dictionary. The key is the function name in the format described
- above; the value is a tuple consisting of, in order, number of calls,
- total time spent in the function, total time spent in the function and
- all functions called from it, a list of functions called by this
- function, and a list of functions that called this function. The dump
- can be read back using the following code:
-
- >>> import marshal
- >>> f = open(dump_file, 'r')
- >>> dict = marshal.load(f)
- >>> f.close()
-
- An easier way of doing this is by using the class `Stats' which is
- also defined in profile:
-
- >>> import profile
- >>> s = profile.Stats().init(dump_file)
-
- The following methods are defined for instances of `Stats':
-
- print_stats() -- Print the statistics in a format similar to
- the format profile.run() uses.
- print_callers() -- For each function, print all functions
- which it calls.
- print_callees() -- For each function, print all functions from
- which it is called.
- sort_stats(n) -- Sort the statistics for subsequent
- printing. The argument determines on which
- field the output should be sorted.
- Possibilities are
- -1 function name
- 0 number of calls
- 1 total time spent in a function
- 2 total time spent in a function
- plus all functions it called
- strip_dirs() -- Strip the directory names off of the file
- names which are part of the function names.
- This undoes the effect of sort_stats(), but
- a subsequent sort_stats() does work.
-
- The methods sort_stats and strip_dirs may change in the future.
-
- Output of profile.run(statement) and of the print_stats() method of
- the `Stats' class consists of the following fields.
-
- Number of times the function was called.
- Total time spent in the function.
- Mean time per function call (second field divided by first).
- Total time spent in the function and all functions it called,
- recursively.
- Mean time time spent in the function and all functions it
- called (fourth field divided by first).
- Name of the function in the format
- <file name>:<line number>(<function name>)
-
- The output of the print_callers and print_callees methods consists of
- the name of the function and the names of all function it called or
- was called from. The latter names are followed by a parenthesised
- number which is the number of calls for this function.
-